A. Field of the Invention
The present invention relates generally to systems for transmitting information over the Internet, and more particularly to scheduling the transmission of different types of traffic over the Internet.
B. Description of the Related Art
With the advent of highly-sophisticated digital audio and video applications run on modem multimedia workstations, the ability to run these applications over the Internet has become more desirable. However, such real-time applications often do not work well across the Internet because of variable queuing delays and congestion losses, and because the Internet, as conceived, offers only a very simple point-to-point, best-effort data delivery. As a result, before real-time applications, such as remote video and multimedia conferencing, can be broadly used, the Internet infrastructure must be modified to support real-time quality of service (QoS), which provides some control over end-to-end packet delays.
Another problem with respect to communication over the Internet involves the communication lines. Long haul communications lines are very expensive to use, and major customers usually contract to pay for the use of these lines according to the amount of xe2x80x9ctimexe2x80x9d they wish to have access to these lines rather than by the amount of traffic they send over them. Consequently, it is very important that these customers make the most efficient use of these lines. However, efficient use for a simple xe2x80x9cbest-effortxe2x80x9d queueing approach leads to excessive network delays, which can adversely affect real-time applications. Hence, various forms of packet scheduling have been developed to provide less delay for real-time traffic at higher efficiencies.
With respect to the Internet protocol (IP) QoS problem, prior art solutions have implemented multiple logical FIFOs to handle variously prioritized packets, typically referred to as xe2x80x9cpriority queuing.xe2x80x9d The queue with the highest priority traffic would always be checked first for an available packet to send and when this queue was emptied, the next priority queue would be checked for available packets to send, and so forth. Such a priority queuing arrangement, however, does not guarantee service to every packet because high priority traffic can xe2x80x9clock outxe2x80x9d low priority traffic indefinitely. In contrast, by giving, for example, all users in a packet-scheduling scheme the same priority, but treating the queues in a round robin fashion, packet scheduling guarantees each user a particular committed amount of bandwidth with which other users cannot interfere. Alternatively, each user can have a variable priority based on whether the user has been under or over-utilizing their guaranteed bandwidth. The weighted fair queuing (WFQ) algorithm provides such a scheme.
A system and method consistent with the present invention distinguishes between packet objects having and not having quality of service (QoS) requirements for transmission over a logical channel. Packet objects for a logical channel having QoS requirements are placed in a sorted tree queue based on its scheduled departure time and on a weighting system related to the QoS requirements. Packet objects for a logical channel only requiring best effort transmission are placed in a FIFO queue. Each logical channel is associated with either a sorted tree queue or a FIFO queue.
A method consistent with the present invention for managing the transmission of a packet object determines whether a tag associated with the packet object indicates that the packet object includes quality of service (QoS) requirements for transmission and stores the packet object in a sorted tree queue based on the determination.
Both the foregoing general description and the following detailed description provide examples and explanations only. They do not restrict the claimed invention.